package com.hqully.labmanage.service;

import com.github.pagehelper.PageInfo;
import com.hqully.labmanage.domain.dto.DeviceFaultRecordDTO;
import com.hqully.labmanage.domain.dto.FaultRecordReadDTO;
import com.hqully.labmanage.domain.dto.PageDTO;

import java.util.List;

/**
 * <p>
 * 针对数据库表[deviceFaultRecordDTO]的操作Service
 * </p>
 *
 * @entity {@link DeviceFaultRecordDTO}
 * @date 2022-10-08 10:05:23 <br>
 * @author hqully <br>
 * @version 1.0
 */

public interface DeviceFaultRecordService {

     /**
      * <p>
      *     已读故障记录
      * </p>
      * @param faultRecordReadDTO
      * @return {@link int}
      * @date 2022-10-14 10:20:13 <br>
      * @author hqully <br>
      */
     int readFaultRecord(FaultRecordReadDTO faultRecordReadDTO);

     /**
      * <p>
      *     根据[deviceFaultRecordDTO]的参数分页条件查询设备故障记录列表
      * </p>
      * @param page    分页参数
      * @param deviceFaultRecordDTO 查询对象条件参数
      * @return {@link PageInfo<DeviceFaultRecordDTO>} 设备故障记录DTO分页列表
      * @date 2022-10-08 10:05:23 <br>
      * @author hqully <br>
      */
     PageInfo<DeviceFaultRecordDTO> pageDeviceFaultRecords(PageDTO page, DeviceFaultRecordDTO deviceFaultRecordDTO);


     /**
      * <p>
      *     根据[deviceFaultRecordDTO]的参数条件查询设备故障记录
      * </p>
      * @param deviceFaultRecordDTO 查询对象
      * @return {@link List<DeviceFaultRecordDTO>} 设备故障记录DTO列表
      * @date 2022-10-08 10:05:23 <br>
      * @author hqully <br>
      */
     List<DeviceFaultRecordDTO> listDeviceFaultRecords(DeviceFaultRecordDTO deviceFaultRecordDTO);


     /**
      * <p>
      *     添加设备故障记录
      * </p>
      * @param deviceFaultRecordDTO 设备故障记录DTO
      * @return {@link int}
      * @date 2022-10-08 10:05:23 <br>
      * @author hqully <br>
      */
     int addDeviceFaultRecord(DeviceFaultRecordDTO deviceFaultRecordDTO);

     /**
      * <p>
      *     更新设备故障记录
      * </p>
      * @param deviceFaultRecordDTO 设备故障记录DTO
      * @return {@link int}
      * @date 2022-10-08 10:05:23 <br>
      * @author hqully <br>
      */
     int updateDeviceFaultRecord(DeviceFaultRecordDTO deviceFaultRecordDTO);


     /**
      * <p>
      *     通过[id]删除设备故障记录
      * </p>
      * @param id 设备故障记录id
      * @return {@link int}
      * @date 2022-10-08 10:05:23 <br>
      * @author hqully <br>
      */
     int deleteDeviceFaultRecordById(Integer id);

}
